package ec.edu.uce.tour.modelo;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
 * The persistent class for the ciudad_tbl database table.
 * 
 */
@Entity
@Table(name="ciudad_tbl", schema="tour")
@NamedQueries({
	@NamedQuery(name="CiudadTbl.cargarListaProvinciasPorIdPais", query="select new ec.edu.uce.tour.dto.CiudadDTO (b.paiIdPk, b.paiNombre, a.provIdPk, a.provNombre) from ProvinciaTbl a inner join a.paisTbl b where b.paiIdPk=:idPais"),
	@NamedQuery(name="CiudadTbl.cargarListaCiudadesPorIdPais", query="select new ec.edu.uce.tour.dto.CiudadDTO (b.paisTbl.paiIdPk, b.paisTbl.paiNombre, b.provIdPk, b.provNombre, a.ciuIdPk, a.ciuCodigo, a.ciuNombre, a.ciuEstado) from CiudadTbl a inner join a.provinciaTbl b where b.paisTbl.paiIdPk=:idPais"),
//	@NamedQuery(name="CiudadTbl.cargarListaTablaCiudad", query="select new ec.edu.uce.tour.dto.CiudadDTO (b.paisTbl.paiIdPk, b.paisTbl.paiNombre, b.provIdPk, b.provNombre, a.ciuIdPk, a.ciuCodigo, a.ciuNombre, a.ciuEstado) from CiudadTbl a inner join a.provinciaTbl b where b.paisTbl.paiIdPk=:idPais" ),
})
public class CiudadTbl implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="CIUDAD_TBL_CIUIDPK_GENERATOR", sequenceName="tour.CIUDAD_TBL_CIU_ID_PK_SEQ", allocationSize = 0)
	@GeneratedValue(strategy=GenerationType.AUTO, generator="CIUDAD_TBL_CIUIDPK_GENERATOR")
	@Column(name="ciu_id_pk", unique=true, nullable=false)
	private Integer ciuIdPk;

	@Column(name="ciu_codigo", nullable=false, length=3)
	private String ciuCodigo;

	@Column(name="ciu_estado", nullable=false, length=1)
	private String ciuEstado;

	@Column(name="ciu_nombre", nullable=false, length=50)
	private String ciuNombre;

	//bi-directional many-to-one association to ProvinciaTbl
    @ManyToOne
	@JoinColumn(name="prov_id_pk")
	private ProvinciaTbl provinciaTbl;

	//bi-directional many-to-one association to HotelUbicacionTbl
	@OneToMany(mappedBy="ciudadTbl")
	private Set<HotelUbicacionTbl> hotelUbicacionTbls;

    public CiudadTbl() {
    }

	public Integer getCiuIdPk() {
		return this.ciuIdPk;
	}

	public void setCiuIdPk(Integer ciuIdPk) {
		this.ciuIdPk = ciuIdPk;
	}

	public String getCiuCodigo() {
		return this.ciuCodigo;
	}

	public void setCiuCodigo(String ciuCodigo) {
		this.ciuCodigo = ciuCodigo;
	}

	public String getCiuEstado() {
		return this.ciuEstado;
	}

	public void setCiuEstado(String ciuEstado) {
		this.ciuEstado = ciuEstado;
	}

	public String getCiuNombre() {
		return this.ciuNombre;
	}

	public void setCiuNombre(String ciuNombre) {
		this.ciuNombre = ciuNombre;
	}

	public ProvinciaTbl getProvinciaTbl() {
		return this.provinciaTbl;
	}

	public void setProvinciaTbl(ProvinciaTbl provinciaTbl) {
		this.provinciaTbl = provinciaTbl;
	}
	
	public Set<HotelUbicacionTbl> getHotelUbicacionTbls() {
		return this.hotelUbicacionTbls;
	}

	public void setHotelUbicacionTbls(Set<HotelUbicacionTbl> hotelUbicacionTbls) {
		this.hotelUbicacionTbls = hotelUbicacionTbls;
	}
	
}